package com.example.sbbsec.domain.stat.household.entity;

import com.example.sbbsec.domain.echarts.BarSeriesEntity;
import com.example.sbbsec.domain.echarts.MapSeriesEntity;
import com.example.sbbsec.domain.echarts.PieSeriesEntity;
import com.example.sbbsec.domain.stat.common.PlanSummaryEntity;
import com.google.common.base.MoreObjects;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 户籍分布数据总集
 *
 * @author lowe.yang
 * @date 2018-12-03 14:34
 */
@Getter
@Setter
public class HouseHoldDistributionEntity implements Serializable {

    private static final long serialVersionUID = -5632832942055083251L;

    /**
     * 计划人数概况
     * 包括当前在线人数 当前报名人数 相似专业人数 审核通过人数 审核未通过人数
     */
    private PlanSummaryEntity planSummary;

    /**
     * 热门学校top10 柱形图
     */
    private List<BarSeriesEntity> schoolTop10;

    /**
     * 热门岗位top10 柱形图
     */
    private List<BarSeriesEntity> jobTop10;

    /**
     * 户籍分布地图数据
     */
    private List<MapSeriesEntity> houseHoldDistribution;

    /**
     * 学历分布饼图
     */
    private List<PieSeriesEntity> educationDistribution;

    /**
     * 性别分布饼图
     */
    private List<PieSeriesEntity> genderDistribution;

    /**
     * 年龄分布饼图
     */
    private List<PieSeriesEntity> ageDistribution;

    /**
     * 学校分布饼图
     */
    private List<PieSeriesEntity> schoolDistribution;

    /**
     * 考生数量
     */
    private Integer totalCount;

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("planSummary", planSummary)
                .add("schoolTop10", schoolTop10)
                .add("jobTop10", jobTop10)
                .add("houseHoldDistribution", houseHoldDistribution)
                .add("educationDistribution", educationDistribution)
                .add("genderDistribution", genderDistribution)
                .add("ageDistribution", ageDistribution)
                .add("schoolDistribution", schoolDistribution)
                .add("totalCount", totalCount)
                .toString();
    }
}
